Reductions - Intro To Theoretical Computer Science